#include <iostream>
#include <iomanip>

int main(){
  using namespace std;

  /* 
    运算符（操作符）：
      - sizeof static_cast
      - 运算符可以对一个或多个操作数进行操作
      - 算术运算符
        - 用来对数进行各种运算
          + 加法运算符
          - 减法
          * 乘法
          / 除法
          % 取模，两个数相除取余数，只适用于整数

    浮点数：
      - 两种类型不同的值进行算术运算时，会转换为相同类型（较大的类型）然后再运算（隐式类型转换）
      - 浮点数的算术运算可能会得到一个不精确的结果
      - 除以0
        1.整数除以0 Arithmetic exception 算术异常
        2.浮点数除以0
          正数除以0 inf
          负数      -inf
          0         nan
   */

  int a {5 + 6}; 
  int b {10};
  int c {3};
  // b = b + c;

  cout << "b + c = " << b + c << endl;
  cout << "b * c = " << b * c << endl;
  cout << "b / c = " << b / c << endl;
  cout << "b % c = " << b % c << endl;
  // cout << "b = " << b << endl;

  double d {0.1 + 0.2};
  // cout << setprecision(17);
  cout << d << endl;

  // cout << 1/0 << endl; // Arithmetic exception 运行时错误
  cout << 1.0/0 << endl;  // inf 正无穷
  cout << -1.0/0 << endl;  // -inf 正无穷
  cout << 0.0/0 << endl;  // nan 非法数字
}